1. Field of the Invention
The present invention is in the field of satellite navigation. More specifically, the present invention relates to the field receiver autonomous integrity monitoring (RAIM) fault detection and exclusion implementation.
2. Discussion of the Prior Art
The Global Positioning System (GPS) is a system of satellite signal transmitters that transmits information from which an observer""s present location and/or the time of observation can be determined. Another satellite-based navigation system is called the Global Orbiting Navigational System (GLONASS), which can operate as an alternative or supplemental system.
The GPS was developed by the United States Department of Defense (DOD) under its NAVSTAR satellite program. A fully operational GPS includes more than 24 Earth orbiting satellites approximately uniformly dispersed around six circular orbits with four satellites each, the orbits being inclined at an angle of 55xc2x0 relative to the equator and being separated from each other by multiples of 60xc2x0 longitude. The orbits have radii of 26,560 kilometers and are approximately circular. The orbits are non-geosynchronous, with 0.5 sidereal day (11.967 hours) orbital time intervals, so that the satellites move with time relative to the Earth below. Generally, four or more GPS satellites will be visible from most points on the Earth""s surface, which can be used to determine an observer""s position anywhere on the Earth""s surface. Each satellite carries a cesium or rubidium atomic clock to ;provide timing information for the signals transmitted by the satellites. An internal clock correction is provided for each satellite clock.
Each GPS satellite continuously transmits two spread spectrum, L-band carrier signals: an L1 signal having a frequency f1=1575.42 MHz (approximately nineteen centimeter carrier wavelength) and an L2 signal having a frequency f2=1227.6 MHz (approximately twenty-four centimeter carrier wavelength). These two frequencies are integral multiplies f1=1,540 f0 and f2=1,200 f0 of a base frequency f0=1.023 MHz. The L1 signal from each satellite is binary phase shift key (BPSK) modulated by two pseudo-random noise (PRN) codes in phase quadrature, designated as the C/A-code and P-code. The L2 signal from each satellite is BPSK modulated by only the P-code. The nature of these PRN codes and accepted methods for generating the C/A-code and P-code are set forth in the document ICD-GPS-200: GPS Interface Control Document, ARINC Research, 1997, GPS Joint Program Office, which is incorporated by reference herein.
The GPS satellite bit stream includes navigational information on the ephemeris of the transmitting GPS satellite (which includes orbital information about the transmitting satellite within next several hours of transmission) and an almanac for all GPS satellites (which includes a less detailed orbital information about all satellites). The transmitted satellite information also includes parameters providing corrections for ionospheric signal propagation delays (suitable for single frequency receivers) and for an offset time between satellite clock time and true GPS time. The navigational information is transmitted at a rate of 50 Baud.
A second satellite-based navigation system is the Global Orbiting Navigation Satellite System (GLONASS), placed in orbit by the former Soviet Union and now maintained by the Russian Republic. GLONASS uses 24 satellites, distributed approximately uniformly in three orbital planes of eight satellites each. Each orbital plane has a nominal inclination of 64.8xc2x0 relative to the equator, and the three orbital planes are separated from each other by multiples of 120xc2x0 longitude. The GLONASS satellites have circular orbits with a radii of about 25,510 kilometers and a satellite period of revolution of 8/17 of a sidereal day (11.26 hours). A GLONASS satellite and a GPS satellite will thus complete 17 and 16 revolutions, respectively, around the Earth every 8 days. The GLONASS system uses two carrier signals L1 and L2 with frequencies of f1=(1.602+9 k/16) GHz and f2=(1.246+7 k/16) GHz, where k=(1, 2, . . . 24) is the channel or satellite number. These frequencies lie in two bands at 1.597-1.617 GHz (L1) and 1,240-1,260 GHz (L2). The L1 signal is modulated by a C/A-code (chip rate=0.511 MHz) and by a P-code (chip rate=5.11 MHz). The L2 signal is presently modulated only by the P-code. The GLONASS satellites also transmit navigational data at a rate of 50 Baud. Because the channel frequencies are distinguishable from each other, the P-code is the same, and the C/A-code is the same, for each satellite. The methods for receiving and demodulating the GLONASS signals are similar to the methods used for the GPS signals. Reference to a Satellite Positioning System or SATPS herein refers to a Global Positioning System, to a Global Orbiting Navigation System, and to any other compatible satellite-based system that provides information by which an observer""s position and the time of observation can be determined, all of which meet the requirements of the present invention.
A Satellite Positioning System (SATPS), such as the Global Positioning System (GPS) or the Global Orbiting Navigation Satellite System (GLONASS), uses transmission of coded radio signals, with the structure described above, from a plurality of Earth-orbiting satellites. An SATPS antenna receives SATPS signals from a plurality (preferably four or more) of SATPS satellites and passes these signals to an SATPS signal receiver/processor, which (1) identifies the SATPS satellite source for each SATPS signal, (2) determines the time at which each identified SATPS signal arrives at the antenna, and (3) determines the present location of the SATPS satellites.
The range (ri) between the location of the i-th SATPS satellite and the SATPS receiver is equal to the speed of light c times (xcex94ti), wherein (xcex94ti) is the time difference between the SATPS receiver""s clock and the time indicated by the satellite when it transmitted the relevant phase. However, the SATPS receiver has an inexpensive quartz clock which is not synchronized with respect to the much more stable and precise atomic clocks carried on board the satellites. Consequently, the SATPS receiver estimates a pseudo-range (pri) (not a true range) to each satellite.
After the SATPS receiver determines the coordinates of the i-th SATPS satellite by demodulating the transmitted ephemeris parameters, the SATPS receiver can obtain the solution of the set of the simultaneous equations for its unknown coordinates (x0, y0, z0) and for unknown time bias error (cb). The SATPS receiver can also determine velocity of a moving platform.
The given above discussion assumes that a satellite navigational system used for the navigation purposes is functioning properly. GPS satellites are designed to provide users with warnings of satellite malfunctions. However, sometimes, the warnings may take more than 5 minutes before the user is aware of a malfunction. Aviation applications require a more timely notification of a satellite failure condition. Thus, a means to independently monitor satellite integrity is required.
One of these means is receiver autonomous integrity monitoring (RAIM). The RAIM method is based on a self-consistency check among the available measurements. The RAIM consistency check uses redundant measurements as a means to determine GPS integrity. The discussion given below can be found in xe2x80x9cGlobal Positioning System: Theory and Applicationsxe2x80x9d, Volume II, chapter 5, by Bradford W. Parkinson and James J. Spilker Jr., published by the American Institute of Aeronautics and Astronautics, Inc. in 1996.
There are two main approaches to RAIM (not considering several hybrid approaches). In the first main method, the snapshot scheme, only current redundant measurements are used for the self-consistency check. In the second main method, the averaging or filtering scheme, both past and present measurements are used in the RAIM decision.
The theoretical foundation for RAIM is the statistical detection theory. Two hypothetical-testing questions are posed: (1) Does a failure exist? and (2) If so, which is the failed satellite? The basic assumption is that there is only one failed satellite at a time. Determination of which satellite has failed is more difficult than a simple failure detection, and it requires more measurement redundancy.
In a basic snapshot RAIM scheme the noisy redundant range-type measurements are available at a given sample point in time. It is convenient to use the six-satellites-in-view-case as an example, that is the number of satellites in view n=6. The generalization to n=5 or n greater than 6 is fairly obvious.
In a range comparison method for six satellites there are six linearized over-determined equations in four unknowns. If there is no noise, one can solve the first four equations to obtain a solution that satisfies the first four equations. The resulting solution can be used to predict the remaining two measurements, and the predicted values can be compared with the actual measured values. If the two differences (residuals) are small, the detection algorithm detects xe2x80x9cno failurexe2x80x9d. On the other hand, if either or both of the residuals are large, it declares xe2x80x9cfailurexe2x80x9d. The notion of xe2x80x9csmallxe2x80x9d and xe2x80x9clargexe2x80x9d are defined by deciding whether the typical sample point lies inside or outside the decision boundary in the two-dimensional test statistic plane. This is the essence of the range comparison method.
In the least-squares -residuals RAIM method for the same six-in-view satellites example, one obtains the least squares xe2x80x9csolutionxe2x80x9d for six equations in four unknowns. The least-squares solution can be used to predict the six measurements. Six residuals are then grouped together as a six-to-one vector in the measurement domain. The linear transformation takes the range measurement into the resulting residual vector. The sum of the squares of the residuals plays the role of the basic nonnegative scalar observable in the least-squares -residuals RAIM method. The positive semi-infinite real line can be partitioned into two parts, one for xe2x80x9cno failurexe2x80x9d, and the other for xe2x80x9cfailurexe2x80x9d. The dividing point is called the threshold. In this method one can use a constant alarm-rate strategy by precalculating the thresholds (partitions) that yield the desired alarm rate for the various anticipated values of N. (In general, N is equal to the number of measurements). Then the real-time algorithm sets the threshold appropriately. For the zero-mean Gaussian assumption the sum of the squares of the residuals has an unnormalized Chi-square distribution with (Nxe2x88x924) degrees of freedom. One can use chi-square statistics to find the threshold based on false alert rate and missed detection rate for the N-number of measurements used. The sum of the squares of the residuals, which is a scalar, is used as the test statistic which is compared to the threshold. Thus, the least-squares-residuals RAIM method is easy to implement because its test statistic is a scalar, regardless of the number N of measurements used.
The RAIM parity method is more formal and less heuristic than either the range comparison method or the least-squares-residuals method. In this method, for the same six-in-view satellites example, the measurement vector is linearly transformed. The upper partitioned part of the transformation yields the usual least-squares solution. The lower partitioned is called the parity vector. For simple detection, one can obtain all the information about the parity vector by looking at its magnitude, or its magnitude squared. Thus, in the parity method, the test statistic for detection reduces to a simple scalar, as was the case with the least-squares-residuals method. The least-squares-residuals method and the parity method lead to identical observables, and with similar threshold settings, yield identical results. It can be shown, that the range-comparison space can be mapped to parity space. Thus, all three methods yield the same results.
Another RAIM implementation is the maximum separation of solution RAIM method. If there are n satellites in view, one can consider the n subset solutions obtained by omitting one satellite at a time from the full set. If a failure exists, the failed satellite is omitted from one of the subsets, and the solution thus obtained is declared a xe2x80x9cgoodxe2x80x9d solution. All other subsets contain the failed satellite, and they are in error to various degrees. If the pseudorange error in the failed satellite gradually increases with time, one would expect the subset solutions to begin to spread apart with time, and the maximum separation observed among the n solutions can be used as a measure of the solutions spread. The xe2x80x9cgoodxe2x80x9d solution remains near truth, because it does not contain the failed satellite. If there is no failure present, the solutions should remain grouped around the true position. Thus, the maximum observed solution separation in the horizontal plane can be used as a scalar and nonnegative test statistic. The xe2x80x9cno-failurexe2x80x9d decision is separated from the xe2x80x9cfailurexe2x80x9d decision with some detection probability by the threshold that can be set by utilizing the relationship between the radial error and the radial-error-protection level. The detection probability varies with satellite geometry. However, this method is not implemented in the prior art satellite receivers.
In the constant-detection-rate/variable-protection-level method, a snapshot RAIM scheme differs significantly from the four methods described above. In this method, the parity vector is used as the basic test statistic, and a threshold is set to yield the desired constant alarm rate. To keep the detection probability constant, as the satellite geometry varies, the smallest radial error, or the protection radius, is used as a failure criterion. The protection radius can be calculated, in real time, on an essentially continuous basis. When the protection radius exceeds the specified alarm limit, the alarm should be triggered, which would indicate the inadequate satellite geometry. On the other hand, if the test statistic exceeds the threshold, the alarm also would be triggered. If this is the case, the alarm would be indicative of a satellite malfunction. In either of those situations, an airplane should be equipped with an alternative source of navigation when the satellite-based navigation fails. This is called a GPS supplementary navigation. One type of the supplementary navigation of an airplane (if the test statistic exceeds the threshold) can be performed by using a satellite-calibrated barometric altimeter data (baro-data), as fully disclosed in the U.S. Pat. No. 6,281,836, issued to Lupash et al. Lupash et al. discloses the method of supplementing the satellite data by the satellite-calibrated baro data when the receiver autonomous integrity monitoring function (RAIM) is unavailable and when the horizontal protection level (HPL) does not satisfy the horizontal alert limit (HAL) requirement. The baro data is adjusted to compensate for the lack of baro calibration in the position solution domain. The HPL is re-computed using the satellite-calibrated adjusted baro data. The re-computed HPL could satisfy the HAL requirement which would make the RAIM function available when it would be otherwise unavailable. An airplane navigation system can perform the supplementary navigation by supplementing the GPS satellite data with the GLONASS-derived data, or with pseudolite-derived data. etc. Thus, if there are sufficient number of supplementary measurements available, the airplane navigation system could exclude the faulty GPS satellite data and still perform sufficiently precise navigation.
However, in order to isolate the faulty satellite data, the satellite navigation system at first has to determine if there are sufficient number of supplementary measurements available, so that the airplane navigation system could perform the RAIM fault detection and exclusion function (FDE). RAIM/FDE thresholds are determined using the inputs of maximum allowable false alert rate and probability of missed detection (pmd).
Historically, the inputs of maximum allowable false alert rate and probability of missed detection pmd) were fixed (normally through a Federal Aviation Administration requirement) which resulted in one set of thresholds for a given alert rate and probability of missed detection (pmd). On the other hand, in order to use a more accurately calculated RAIM fault detection and exclusion (FDE) function for GPS receiver either a probability of missed detection (pmd) or a maximum allowable alert rate should be allowed to change depending on satellite configuration, expected measurement accuracy or satellite messages.
Thus, what is needed is to develop a method of adaptive threshold logic implementation for RAIM fault detection and exclusion (FDE) function for GPS receiver that would take into account the variable probability of missed detection (pmd) or a variable maximum allowable alert rate depending on the satellite configuration, on the expected measurement accuracy, or on the satellite message structure.
To address the shortcomings of the available art, the present invention provides a method of adaptive threshold logic implementation for RAIM fault detection and exclusion (FDE) function for GPS that takes into account the variable probability of missed detection (pmd) or a variable maximum allowable alert rate depending on the satellite configuration, on the expected measurement accuracy, or on the satellite message structure.
One aspect of the present invention is directed to a method for improving a satellite receiver autonomous integrity monitoring (RAIM) availability and fault detection and exclusion (FDE) function by using an adaptive threshold logic.
In one embodiment of the present invention, the method comprises the following steps: (A) pre-computing a database of thresholds; (B) selecting in real time from the database a plurality of thresholds corresponding to a set of available measurements; and (C) determining an optimum RAIM/FDE function corresponding to the set of available measurements by using the adaptive threshold logic that utilizes the plurality of thresholds corresponding to the set of available measurements. The set of available measurements is selected from the group consisting of: {a GPS measurement, a GLONASS measurement, a GALILEO measurement, a baro measurement, a clock measurement, and a pseudolite measurement}.
In one embodiment of the present invention, the step (A) of pre-computing the database of thresholds further includes the following steps: (A1) selecting a navigation scenario from the group consisting of: {a Standard Positioning System (SPS) navigation scenario; a Precise Positioning System (PPS) navigation scenario; and a navigation scenario including a combination of the SPS navigation scenario and the PPS navigation scenario}; and (A2) generating a table of thresholds for the selected navigation scenario.
In one embodiment of the present invention, the step (A1) of selecting the navigation scenario further includes the step (A1, 1) of determining a degree of freedom parameter (dof) for the selected navigation scenario. The degree of freedom parameter dof is equal to an integer K of available measurements corresponding to the selected navigation scenario minus four measurements; wherein the integer K of available measurements corresponding to the selected navigation scenario is selected from the group consisting of: {a GPS measurement, a GLONASS measurement, a GALILEO measurement, a baro measurement, a clock measurement, and a pseudolite measurement}.
In one embodiment of the present invention, the step (A2) of generating the table of thresholds for the selected navigation scenario further includes the following steps: (A2, 1) selecting a probability of false alert (pfa) for the selected navigation scenario; (A2, 2) selecting a probability of missed detection (pmd) for the selected navigation scenario; and (A2, 3) selecting a probability of false exclusion (pfe) for the selected navigation scenario.
In one embodiment of the present invention, the step (A2) of generating the table of thresholds for the selected navigation scenario further includes the following steps: (A2, 4) for each degree of freedom parameter (dof), using the probability of false alert (pfa) to determine a table of fault detection (FD) normalized thresholds (td_table of TD); and (A2, 5) for each degree of freedom parameter (dof), using the table of fault detection normalized thresholds (td_table of TD), using the probability of missed detection (pmd), and using the probability of false alert (pfa) to determine a table of normalized thresholds for fault detection availability (pb_table of pbiasb) based on a parity vector method.
In one embodiment of the present invention, the step (A2) of generating the table of thresholds for the selected navigation scenario further includes the following step: (A2, 6) for each degree of freedom parameter (dof), using the probability of false exclusion (pfe) to determine a table of fault exclusion (FE) normalized thresholds (te_table of TE).
In one embodiment of the present invention, for each timing cycle of the satellite receiver, the step (C) of determining the optimum RAIM/FDE function corresponding to the set of available measurements by using the adaptive threshold logic further includes the steps of: (C1) identifying a default set of available measurements by using a real time available GPS satellite constellation, and acquiring a plurality of GPS satellite signals by using a satellite receiver; (C2) if the number of default available measurements is greater than or equal to a first predetermined number, substantially continuously determining the optimum RAIM/FDE function corresponding to the set of available measurements; and (C3) if the number of default available measurements is less than the first predetermined number, and if at least one additional measurement is available, adding at least one additional measurement to the set of available measurements and repeating the steps (C1-C3). The additional measurement is selected from the group consisting of: {GPS measurement, GLONASS measurement, GALILEO measurement, a baro measurement, a clock measurement, and a pseudolite measurement}.
In one embodiment of the present invention, for each timing cycle, the step (C2) of continuously determining the optimum RAIM/FDE function corresponding to the set of available measurements further includes the following steps: (C2, 1) counting an integer L of timing cycles by using a counter; (C2, 2) tracking the set of used available measurements; and (C2, 3) if the integer L of timing cycles is not a multiple of a second predetermined number, or if the integer L of timing cycles is not equal to one, or if the set of tracked used available measurements does not change from a prior timing cycle, starting the process of determining the optimum RAIM/FDE function.
In another embodiment, of the present invention, if the integer L of timing cycles is a multiple of the second predetermined number, or if the integer L of timing cycles is equal to one, or if the set of tracked used available measurements does change from a prior timing cycle, the step (C2) of continuously determining the optimum RAIM/FDE function corresponding to the set of available measurements further includes the step (C2, 3) of starting a process of selecting a set of adaptive thresholds.
In one embodiment of the present invention, the step (C2, 3) of selecting the set of adaptive thresholds further includes the steps of: determining a set of measurement weights; checking if there is an operator""s overrule command; if there is no operator""s overrule command, determining a composite weighting scalar factor by using the set of measurement weights; based on the composite weighting scalar factor, selecting a navigation scenario from the group consisting of: {a Standard Positioning System (SPS) navigation scenario; a Precise Positioning System (PPS) navigation scenario; and a navigation scenario including a combination of the SPS navigation scenario and the PPS navigation scenario}; and based on the selected navigation scenario, and based on the degree of freedom (dof), selecting from the pre-computed off-line database of thresholds a set of thresholds including the table of fault detection (FD) normalized thresholds (td_table of TD), including the table of fault exclusion (FE) normalized thresholds (te_table of TE), and including the table of normalized thresholds for fault detection availability (pb_table of pbiasb).
In one embodiment of the present invention, the step of determining the set of measurement weights further includes the following steps: decoding from a received GPS navigation message a user range accuracy (URA) index for each satellite measurement that is used in a navigation solution; determining a user range error (URE) corresponding to a plurality of errors selected from the group consisting of {a plurality of space segment errors; and a plurality of control segment errors} for the URA index for each satellite measurement; evaluating a user equipment error (UEE) corresponding to a plurality of errors selected from the group consisting of {a receiver noise error; a multipath error; a ionosphere delay uncompensated error; and a troposphere delay uncompensated error} for each satellite measurement; and determining a user equivalent range error (UERE) based on the calculated URE and based on the calculated UEE for the URE value for each satellite measurement.